<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    // 计算5!

    // 5! = 5 * 4 * 3 * 2 * 1;
    //      5 * 4!
    //          4 * 3!
    //              3 * 2!
    //                  2 * 1!
    //                      1

    // fn(5) = 5 * fn(4)
    //                 4 * fn(3)
    //                         3 * fn(2)
    //                                 2 * fn(1)
    //                                         1

    // fn(n) = n * fn(n-1);
    // fn(1) = 1;

    // function fn(n){
    //     if(n === 1){
    //         return 1;
    //     }else{
    //         return n * fn(n-1);
    //     }
    // }
    // console.log(fn(5));

    

    // 求斐波那契数列第n位
    // 假设有一个功能叫fn，用来计算第n为斐波那契数列
    // fn(5) = fn(4) + fn(3)
    //         fn(4) = fn(3) + fn(2)
    //                 fn(3) = fn(2) + fn(1)

    // fn(n) = fn(n-1) + fn(n-2)
    // fn(1) = 1
    // fn(2) = 1

    // function fn(n){
    //     if(n === 1 || n === 2){
    //         return 1;
    //     }else{
    //         return fn(n-1) + fn(n-2);
    //     }
    // }
    // console.log(fn(40));



</script>
</html>